Autonomous driving system

ABSTRACT

An autonomous driving system includes: at least one sensor (1) configured to collect environment information around a vehicle; a primary decision unit (21) configured to calculate decision information based on the environment information collected by the at least one sensor (1), and transmit the decision information to a controller (3); an alternative decision unit (22) configured to calculate decision information based on the environment information collected by the at least one sensor (1) in response to detecting that the primary decision unit (21) is abnormal, and transmit the decision information to the controller (3); and the controller (3) configured to calculate vehicle control information based on the received decision information, and transmit the vehicle control information to a bottom vehicle controller. In this way, the stability and reliability of the autonomous driving system can be improved and safety of autonomous driving of the vehicle can be guaranteed.

This application is a patent application under 35 U.S.C. § 120 andclaims priority to International Patent Application No.PCT/CN2018/105476, filed on Sep. 13, 2018, which further claims thebenefit of priority of Chinese Patent Application No. 201810015286.9,titled “AUTONOMOUS DRIVING SYSTEM,” filed Jan. 8, 2018. The entirecontents of the before-mentioned patent applications are incorporated byreference as part of the disclosure of this application.

TECHNICAL FIELD

The present disclosure relates to autonomous driving technology, andmore particularly, to an autonomous driving system.

BACKGROUND

Implementation of autonomous driving of a vehicle mainly involves partssuch as sensing, decision and control. The sensing part collectsenvironment information around the vehicle using sensors mounted on thevehicle. For example, surrounding obstacles can be sensed using e.g.,cameras or laser radars. The decision part is implemented by a decisionunit which provides decision information based on the environmentinformation collected by the cameras. Finally, a controller controls thevehicle to move along a decided path based on the decision informationoutputted from the decision unit.

However, the current autonomous driving technology is still in anexperimental or testing phase, and there are still many technicalproblems that need to be overcome. For example, vehicles, especiallytrucks, may cause damages to hardware in the decision unit and thecontroller in the autonomous driving system due to bumping and shakingwhile the vehicle is moving, resulting in a problem that the autonomousdriving system fails to work. As another example, in order to ensurethat the vehicle can move safely, the autonomous driving system needs tohave the ability to process a large amount of data quickly and in realtime. During the calculation process, the autonomous driving system maycrash due to problems such as poor heat dissipation. Therefore, how toensure the stable and reliable operation of the autonomous drivingsystem has become a technical problem to be solved by those skilled inthe art.

SUMMARY

In view of the above problem, the present disclosure provides anautonomous driving system, capable of improving the stability andreliability of the autonomous driving system and guaranteeing safety ofautonomous driving of a vehicle.

According to an embodiment of the present disclosure, an autonomousdriving system is provided. The autonomous driving system includes atleast one sensor, a decision unit and a controller. The decision unitincludes a primary decision unit and an alternative decision unit. Theat least one sensor is configured to collect environment informationaround a vehicle. The primary decision unit is configured to calculatedecision information based on the environment information collected bythe at least one sensor, and transmit the decision information to thecontroller. The alternative decision unit is configured to calculatedecision information based on the environment information collected bythe at least one sensor in response to detecting that the primarydecision unit is abnormal, and transmit the decision information to thecontroller. The controller is configured to calculate vehicle controlinformation based on the received decision information, and transmit thevehicle control information to a bottom vehicle controller.

The autonomous driving system according to the embodiment of the presentdisclosure is provided with two decision units, a primary decision unitand an alternative decision unit. The alternative decision unit monitorsthe state of the primary decision unit, and upon detecting that theprimary decision unit is abnormal, takes over and calculates decisioninformation based on the environment information, so as to guaranteenormal operation of the autonomous driving system, such that the entireautonomous driving system will not crash due to failure of the primarydecision unit. In this way, the stability and reliability of theautonomous driving system can be improved.

The other features and advantages of the present disclosure will beexplained in the following description, and will become apparent partlyfrom the description or be understood by implementing the presentdisclosure. The objects and other advantages of the present disclosurecan be achieved and obtained from the structures specificallyillustrated in the written description, claims and figures.

In the following, the solutions according to the present disclosure willbe described in detail with reference to the figures and embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The figures are provided for facilitating further understanding of thepresent disclosure. The figures constitute a portion of the descriptionand can be used in combination with the embodiments of the presentdisclosure to interpret, rather than limiting, the present disclosure.It is apparent to those skilled in the art that the figures describedbelow only illustrate some embodiments of the present disclosure andother figures can be obtained from these figures without applying anyinventive skills. In the figures:

FIG. 1 is a first schematic diagram showing a structure of an autonomousdriving system according to an embodiment of the present disclosure;

FIG. 2 is a second schematic diagram showing a structure of anautonomous driving system according to an embodiment of the presentdisclosure;

FIG. 3 is a third schematic diagram showing a structure of an autonomousdriving system according to an embodiment of the present disclosure;

FIG. 4 is a fourth schematic diagram showing a structure of anautonomous driving system according to an embodiment of the presentdisclosure;

FIG. 5 is a fifth schematic diagram showing a structure of an autonomousdriving system according to an embodiment of the present disclosure;

FIG. 6 is a sixth schematic diagram showing a structure of an autonomousdriving system according to an embodiment of the present disclosure;

FIG. 7 is a seventh schematic diagram showing a structure of anautonomous driving system according to an embodiment of the presentdisclosure;

FIG. 8 is an eighth schematic diagram showing a structure of anautonomous driving system according to an embodiment of the presentdisclosure;

FIG. 9 is a ninth schematic diagram showing a structure of an autonomousdriving system according to an embodiment of the present disclosure; and

FIG. 10 is a tenth schematic diagram showing a structure of anautonomous driving system according to an embodiment of the presentdisclosure.

DETAILED DESCRIPTION OF THE EMBODIMENTS

In the following, the solutions according to the embodiments of thepresent disclosure will be described clearly and completely withreference to the figures, such that the solutions can be betterunderstood by those skilled in the art. Obviously, the embodimentsdescribed below are only some, rather than all, of the embodiments ofthe present disclosure. All other embodiments that can be obtained bythose skilled in the art based on the embodiments described in thepresent disclosure without any inventive efforts are to be encompassedby the scope of the present disclosure.

The autonomous driving system according to the embodiment of the presentdisclosure can be applied to autonomous vehicles (such as cars, trucks,public transportation vehicles, buses, sweepers, sprinklers, electricvehicles, etc.), drones, unmanned ships, etc. The present disclosure isnot limited to any specific application scenario.

Embodiment 1

FIG. 1 is a schematic diagram of an autonomous driving system accordingto Embodiment 1 of the present disclosure. Referring to FIG. 1, theautonomous driving system includes at least one sensor 1, a decisionunit 2, and a controller 3. The controller 3 is connected to a bottomvehicle controller, which may include a Vehicle Control Unit (VCU), abrake Electronic Control Unit (ECU), a throttle ECU, a steering wheelECU, etc. The decision unit 2 includes a primary decision unit 21 and analternative decision unit 22.

The at least one sensor 1 is configured to collect environmentinformation around a vehicle.

In an embodiment of the present disclosure, the at least one sensor 1may include any one or more types of sensors: a camera, a laser radar, amillimeter wave radar, a positioning sensor, a wind speed sensor, alight sensor, an infrared sensor, etc. Here, the positioning sensor maybe a Global Positioning System (GPS), a Global Navigation SatelliteSystem (GNSS) or an Inertial Navigation System (INS). The camera mayinclude a front camera, a side camera, and a rear camera of the vehicle.The environment information collected by the camera may be image datawithin the field of view of the camera. The environment informationcollected by the laser radar may be laser point cloud data. Theenvironment information collected by the positioning sensor may belocation information of the vehicle. The environment informationcollected by the wind speed sensor may be information such as a windspeed and a wind direction. The environment information collected by thelight sensor may be light intensity.

The primary decision unit 21 is configured to calculate decisioninformation based on the environment information collected by the atleast one sensor, and transmit the decision information to thecontroller.

In an embodiment of the present disclosure, the primary decision unit 21determines the perception information (which may include obstaclesaround the vehicle, distances and directions between the vehicle and therespective obstacles, lane line information, traffic information, etc.)based on the environment information, and then calculate the decisioninformation based on the perception information. Here, the decisioninformation may include a moving path of the vehicle, which includesinformation on waypoints constituting the path, and each waypointincludes latitude and longitude coordinate information.

The alternative decision unit 22 is configured to calculate decisioninformation based on the environment information collected by the atleast one sensor 1 in response to detecting that the primary decisionunit 21 is abnormal, and transmit the decision information to thecontroller 3.

The controller 3 is configured to calculate vehicle control informationbased on the received decision information, and transmit the vehiclecontrol information to the bottom vehicle controller.

In an embodiment of the present disclosure, the vehicle controlinformation calculated by the controller 3 may include any one or moreof the following parameters: a steering angle of a steering wheel, atorque, throttle information, brake information, lighting controlinformation, horn control information, etc.

In an embodiment of the present disclosure, the decision unit 2, thecontroller 3 and the bottom vehicle controller can communicate with eachother via a vehicle mounted Controller Area Network (CAN). The decisionunit 2, the controller 3 and the bottom vehicle controller are connectedto a CAN bus, and the decision unit 2 and the controller 3 can transmitinformation via the CAN bus. For example, the decision unit 2 cantransmit the decision information onto the CAN bus, and the controller 3can receive the decision information from the CAN bus. The controller 3can transmit the vehicle control information onto the CAN bus, and thebottom vehicle controller can receive the vehicle control informationfrom the CAN bus.

The autonomous driving system according to Embodiment 1 of the presentdisclosure is provided with two decision units, a primary decision unitand an alternative decision unit. The alternative decision unit monitorsthe state of the primary decision unit, and upon detecting that theprimary decision unit is abnormal, takes over and calculates decisioninformation based on the environment information, so as to guaranteenormal operation of the autonomous driving system, such that the entireautonomous driving system will not crash due to failure of the primarydecision unit. In this way, the stability and reliability of theautonomous driving system can be improved, and safe driving of thevehicle can be guaranteed.

Embodiment 2

FIG. 2 is a schematic diagram of an autonomous driving system accordingto Embodiment 2 of the present disclosure. Referring to FIG. 2, theautonomous driving system includes at least one sensor 1, a decisionunit 2 and a controller 3. The decision unit 2 includes a primarydecision unit 21 and an alternative decision unit 22. The controller 3includes a primary control unit 31, an alternative control unit 32, anda verification unit 33. For details of the at least one sensor 1, theprimary decision unit 21 and the alternative decision unit 22, referencecan be made to Embodiment 1 as described above, and description thereofwill be omitted here. The modules included in the controller 3 will bedescribed in detail below.

The primary control unit 31 is configured to calculate first vehiclecontrol information based on the received decision information, andtransmit the first vehicle control information to the verification unit33.

The alternative control unit 32 is configured to calculate secondvehicle control information based on the received decision information,and transmit the second vehicle control information to the verificationunit 33.

The verification unit 33 is configured to select one of the firstvehicle control information and the second vehicle control informationas the vehicle control information, and transmit the selected vehiclecontrol information to the bottom vehicle controller.

In an embodiment of the present disclosure, each of the primary decisionunit 21 and the alternative decision unit 22 transmits its determineddecision information onto the CAN bus, and each of the primary controlunit 31 and the alternative control unit 32 receives the decisioninformation from the CAN bus.

In an embodiment of the present disclosure, the primary control unit 31and the alternative control unit 32 may be two hardware devices havingthe same structures and parameter settings. They calculate the vehiclecontrol information based on the received decision information in thesame way. Based on the information on the waypoints in the decisioninformation, the primary control unit 31 and the alternative controlunit can determine the vehicle control information for controlling thevehicle to move from a current position to a next waypoint position,including e.g., a steering angle of a steering wheel, a torque,acceleration information, and lighting control information, horn controlinformation, etc.

In an embodiment of the present disclosure, the verification unit 33selecting one of the first vehicle control information and the secondvehicle control information as the vehicle control information mayinclude: determining whether each of the first vehicle controlinformation and the second vehicle control information is abnormal inaccordance with a predetermined determination mechanism; when the firstvehicle control information and the second vehicle control informationare both normal, selecting the first vehicle control information asvehicle control information; when the first vehicle control informationand the second vehicle control information are both are abnormal,triggering an alarm; or when one of the first vehicle controlinformation and the second vehicle control information is abnormal,selecting the other as the vehicle control information.

In an embodiment of the present disclosure, the verification unit 33 maybe provided in advance with criteria for determining whether variousparameters in the vehicle control information are abnormal or not. Forexample, if a value of the steering angle of the steering wheel iswithin a predetermined value range, the steering angle parameter isconsidered to be normal; otherwise it is considered to be abnormal. Asanother example, if the lighting control information indicates that aleft turn signal or a right turn signal is on while the vehicle is in athrough lane, it is confirmed that the lighting control information isabnormal. If the lighting control information indicates that a rightturn signal is on while the vehicle is in a left turn lane, it isconfirmed that the lighting control information is abnormal. If thelighting control information indicates that a left turn signal is onwhile the vehicle is in a right turn lane, it is confirmed that thelighting control information is abnormal. As yet another example, whenthe acceleration is greater than 0 while the distance between thevehicle and the vehicle ahead is smaller than or equal to a safedistance, it means that the acceleration information is abnormal.

These can be set flexibly by those skilled in the art depending onactual requirements, and the present disclosure is not limited to any ofthese examples.

The verification unit 33 determining whether each of the first vehiclecontrol information and the second vehicle control information isabnormal in accordance with the predetermined determination mechanismmay include: determining whether there is an abnormal parameter in thefirst vehicle control information (or the second vehicle controlinformation); and if so, determining that the first vehicle controlinformation (or the second vehicle control information) is abnormal, orotherwise determining that the first vehicle control information (or thesecond vehicle control information) is normal.

In an embodiment of the present disclosure, if the first vehicle controlinformation and the second vehicle control information are bothabnormal, meaning that the primary control unit 31 and the alternativecontrol unit 32 are both abnormal, and it is determined that theautonomous driving system cannot operate normally. Thus, theverification unit 33 can trigger an alarm, including, but not limitedto, any one or more of: displaying fault information in a pop-up alarmwindow on an interactive interface of the autonomous driving system,playing voice alarm information, or transmitting alarm information to aremote server.

With the autonomous driving system according to Embodiment 2 of thepresent disclosure, on one hand, a redundancy design is provided for thedecision unit 2 to improve the stability and reliability of the decisionunit 2; and on the other hand, a redundancy design is provided for thecontroller 3 to improve the stability and reliability of the controller3. Therefore, when compared with Embodiment 1, the stability andreliability of the autonomous driving system can be further improved.

Embodiment 3

FIG. 3 is a schematic diagram of an autonomous driving system accordingto

Embodiment 3 of the present disclosure. Referring to FIG. 3, theautonomous driving system includes at least one sensor 1, a decisionunit 2, and a controller 3. The decision unit 2 includes a primarydecision unit 21 and an alternative decision unit 22. The controller 3includes a primary control unit 34 and an alternative control unit 35.For details of the at least one sensor 1, the primary decision unit 21and the alternative decision unit 22, reference can be made toEmbodiment 1 as described above, and description thereof will be omittedhere. The modules included in the controller 3 will be described indetail below.

The primary control unit 34 is configured to calculate first vehiclecontrol information based on the received decision information, andtransmit the first vehicle control information to the bottom vehiclecontroller.

The alternative control unit 35 is configured to calculate secondvehicle control information based on the received decision informationin response to detecting that the primary control unit 34 is abnormal,and transmit the second vehicle control information to the bottomvehicle controller.

In an example, the primary control unit 34 can be further configured to:transmit first verification information for verifying whether theprimary control unit 34 is abnormal to the alternative control unit 35periodically. The alternative control unit 35 can be further configuredto determine whether the primary control unit 34 is abnormal based onthe first verification information.

In another example, the controller can further include a firstmonitoring unit 36. As shown in FIG. 4, the primary control unit 34 canbe further configured to transmit first verification information forverifying whether the primary control unit 34 is abnormal to the firstmonitoring unit 36 periodically. The first monitoring unit 36 can beconfigured to determine whether the primary control unit 34 is abnormalbased on the first verification information, and transmit adetermination result to the alternative control unit 35.

In an example, the first verification information may be a verificationcode, and a verification mechanism may be set in the primary controlunit 34 and the alternative control unit 35 (or the first monitoringunit 36) in advance. The primary control unit 34 can periodicallygenerate verification codes in accordance with the predeterminedverification mechanism, and transmit the verification codes to thealternative control unit 35 (or the first monitoring unit 36). Thealternative control unit 35 (or the first monitoring unit 36) can verifyeach received verification code in accordance with the predeterminedverification mechanism, and determine that the primary control unit 34is normal when the verification succeeds, or determine that the primarycontrol unit 34 is abnormal when the verification fails. For example,assuming that the value range of the verification code is 255, theprimary control unit 34 can determine whether the value of the previousverification code is 255 or not each time before generating the currentverification code, and if not, generate the current verification code byincrementing the previous verification code by 1, or otherwise use 0 asthe current verification code (these operations may be performedcyclically). Correspondingly, each time the alternative control unit 35(or the first monitoring unit 36) receives the verification code, it candetermine whether the previously received verification code is 255 ornot. If the previously received verification code is 255, it can thendetermine whether the currently received verification code is 0 or not,and if so, the verification succeeds, or otherwise the verificationfails. If the previously received verification code is not 255, it canthen determine whether the currently received verification code islarger than the previous verification code by 1 or not, and if so, theverification succeeds, or otherwise the verification fails.

In another example, the first verification information may alternativelybe a heartbeat message. The primary control unit 34 can periodicallytransmit heartbeat messages to the alternative control unit 35 (or thefirst monitoring unit 36). The alternative control unit 35 (or the firstmonitoring unit 36) can start a timer each time after receiving aheartbeat message, determine whether the next heartbeat message from theprimary control unit 34 is received when the timer reaches apredetermined time length threshold (which is greater than or equal tothe time period at which the primary control unit 34 transmits heartbeatmessages), and if so, determine that the primary control unit 34 isnormal, or otherwise determine that the primary control unit 34 isabnormal.

In some embodiments, in the autonomous driving system described above inconnection with FIGS. 1-4, the primary decision unit 21 may be furtherconfigured to transmit second verification information for verifyingwhether the primary decision unit 21 is normal to the alternativedecision unit 22 periodically. The alternative decision unit 22 may befurther configured to determine whether the primary decision unit 21 isabnormal based on the second verification information.

In other embodiments, in the autonomous driving system described abovein connection with FIGS. 1-4, the decision unit 2 may further include asecond monitoring unit 23. FIGS. 5˜8 show that the decision unit 2 ofthe autonomous driving system shown in each of FIGS. 1˜4 can furtherinclude a second monitoring unit 23, respectively.

The primary decision unit 21 can be further configured to transmitsecond verification information for verifying whether the primarydecision unit 21 is normal to the second monitoring unit 23periodically. The second monitoring unit 23 can be configured todetermine whether the primary decision unit 21 is abnormal based on thesecond verification information, and transmit a determination result tothe alternative decision unit 22.

In an example, the second verification information may be a verificationcode, and a verification mechanism may be set in the primary decisionunit 21 and the alternative decision unit 22 (or the second monitoringunit 23) in advance. The primary decision unit 21 can periodicallygenerate verification codes in accordance with the predeterminedverification mechanism, and transmit the verification codes to thealternative decision unit 22 (or the second monitoring unit 23). Thealternative decision unit 22 (or the second monitoring unit 23) canverify each received verification code in accordance with thepredetermined verification mechanism, and determine that the primarydecision unit 21 is normal when the verification succeeds, or determinethat the primary decision unit 21 is abnormal when the verificationfails. For example, assuming that the value range of the verificationcode is 0˜255, the primary decision unit 21 can determine whether thevalue of the previous verification code is 255 or not each time beforegenerating the current verification code, and if not, generate thecurrent verification code by incrementing the previous verification codeby 1, or otherwise use 0 as the current verification code (theseoperations may be performed cyclically). Correspondingly, each time thealternative decision unit 22 (or the second monitoring unit 23) receivesthe verification code, it can determine whether the previously receivedverification code is 255 or not. If the previously received verificationcode is 255, it can then determine whether the currently receivedverification code is 0 or not, and if so, the verification succeeds, orotherwise the verification fails. If the previously receivedverification code is not 255, it can then determine whether thecurrently received verification code is larger than the previousverification code by 1 or not, and if so, the verification succeeds, orotherwise the verification fails.

In another example, the second verification information mayalternatively be a heartbeat message. The primary decision unit 21 canperiodically transmit heartbeat messages to the alternative decisionunit 22 (or the second monitoring unit 23). The alternative decisionunit 22 (or the second monitoring unit 23) can start a timer each timeafter receiving a heartbeat message, determine whether the nextheartbeat message from the primary decision unit 21 is received when thetimer reaches a predetermined time length threshold (which is greaterthan or equal to the time period at which the primary decision unit 21transmits heartbeat messages), and if so, determine that the primarydecision unit 21 is normal, or otherwise determine that the primarydecision unit 21 is abnormal.

With the autonomous driving system according to Embodiment 3 of thepresent disclosure, on one hand, a redundancy design is provided for thedecision unit 2 to improve the stability and reliability of the decisionunit 2; and on the other hand, a redundancy design is provided for thecontroller 3 to improve the stability and reliability of the controller3. Therefore, when compared with Embodiment 1, the stability andreliability of the autonomous driving system can be further improved.

In practice, data outputted from each sensor is typically data in onechannel. In order to further ensure that each of the primary decisionunit 21 and the alternative decision unit 22 can obtain the environmentinformation collected by each sensor timely, thereby facilitating themultiplexing of the sensor data, in an embodiment of the presentdisclosure, the autonomous driving system shown in FIGS. 1˜8 may furtherinclude a data exchange controller 4. FIG. 9 shows that the autonomousdriving system shown in FIG. 2 can further include a data exchangecontroller 4.

The data exchange controller 4 is configured to receive the environmentinformation collected by the at least one sensor 1 and transmit theenvironment information to each of the primary decision unit 21 and thealternative decision unit 22.

In an embodiment of the present disclosure, in order to further improvethe data transmission efficiency, a sensor having a large amount of datato transmit, e.g., a camera, a laser radar, etc., can transmit thecollected environment information to the data exchange controller 4 viaa Local Area Network (LAN). A sensor having a small amount of data totransmit, e.g., a millimeter wave radar, a positioning sensor, etc., cantransmit the collected environment information to the alternativedecision unit 22 via a vehicle-mounted CAN, and then the alternativedecision unit 22 can transmit the environment information to the primarydecision unit 21. For example, the alternative decision unit 22 cantransmit the environment information received from the millimeter waveradar and the positioning sensor to a CAN bus, and the primary decisionunit 21 can receive the environment information from the CAN bus. Asshown in FIG. 10, a sensor having a large amount of data, e.g., a cameraor a laser radar, can communicate the data with the data exchangecontroller 4 via the LAN, and the data exchange controller 4 cancommunicate the data with the primary decision unit 21 and thealternative decision unit 22 via the LAN. A sensor having a small amountof data, e.g., a millimeter wave radar or a positioning sensor, cancommunicate the data via the CAN, and the primary decision unit 21, thealternative decision unit 22, the controller 3, and the bottom vehiclecontroller can all be connected to the CAN bus.

In an embodiment of the present disclosure, the primary decision unit 21and the alternative decision unit 22 can be provided as same devices iftheir costs are not an issue, i.e., the primary decision unit 21 and thealternative decision unit 22 can each have a decision function ofLevel-4 (L4) autonomous driving.

However, in practice, in order to have the decision function of L4autonomous driving, a decision unit must have characteristics such ashigh computing performance, large data throughputs, and complicatedcalculation logics. The decision unit having such characteristics has ahigh cost. If both the primary decision unit 21 and the alternativedecision unit 22 are configured to have the decision function of L4autonomous driving, the cost may be too high for commercialization.Therefore, in an embodiment of the present disclosure, the primarydecision unit 21 may be provided as a unit having a decision function ofL4 level autonomous driving, and the alternative decision unit 22 may beprovided as a unit having a decision function of Level-2 (L2) autonomousdriving. For example, the alternative decision unit 22 may have decisioncapabilities such as lane keeping and following a vehicle ahead, i.e.,the alternative decision unit 22 has the capability to guarantee safedriving of the vehicle when the primary decision unit 21 fails.Therefore, in an embodiment of the present disclosure, the alternativedecision unit 22 calculating the second decision information based onthe environment information collected by the at least one sensor mayinclude: generating decision information for lane keeping based on theenvironment information; generating decision information for following avehicle ahead based on the environment information; generating decisioninformation for moving from a current location to an emergency lane andstopping in the emergency lane based on the environment information; orgenerating decision information for stopping in a current lane based onthe environment information.

In the embodiment of the present disclosure, in order to furtherguarantee the safe driving of the vehicle, the above alternativedecision unit 22 may be further configured to: transmit alarm or requestfor help information to a remote server, to wait for rescue; displaywarning information indicating a vehicle fault on a display screen on atop or back of the vehicle, to warn other vehicles or pedestrians aboutthe statues of the vehicle status; and/or generate request informationrequesting for intervention of a driver, e.g., triggering an audiblealarm to warn the driver to switch from an autonomous driving mode to amanual driving mode so as to take over the vehicle.

The basic principles of the present disclosure have been described abovewith reference to the embodiments. However, it can be appreciated bythose skilled in the art that all or any of the steps or components ofthe method or apparatus according to the present disclosure can beimplemented in hardware, firmware, software or any combination thereofin any computing device (including a processor, a storage medium, etc.)or a network of computing devices. This can be achieved by those skilledin the art using their basic programing skills based on the descriptionof the present disclosure.

It can be appreciated by those skilled in the art that all or part ofthe steps in the method according to the above embodiment can beimplemented in hardware following instructions of a program. The programcan be stored in a computer readable storage medium. The program, whenexecuted, may include one or any combination of the steps in the methodaccording to the above embodiment.

Further, the functional units in the embodiments of the presentdisclosure can be integrated into one processing module or can bephysically separate, or two or more units can be integrated into onemodule. Such integrated module can be implemented in hardware orsoftware functional units. When implemented in software functional unitsand sold or used as a standalone product, the integrated module can bestored in a computer readable storage medium.

It can be appreciated by those skilled in the art that the embodimentsof the present disclosure can be implemented as a method, a system or acomputer program product. The present disclosure may include purehardware embodiments, pure software embodiments and any combinationthereof. Also, the present disclosure may include a computer programproduct implemented on one or more computer readable storage mediums(including, but not limited to, magnetic disk storage and opticalstorage) containing computer readable program codes.

The present disclosure has been described with reference to theflowcharts and/or block diagrams of the method, device (system) andcomputer program product according to the embodiments of the presentdisclosure. It can be appreciated that each process and/or block in theflowcharts and/or block diagrams, or any combination thereof, can beimplemented by computer program instructions. Such computer programinstructions can be provided to a general computer, a dedicatedcomputer, an embedded processor or a processor of any other programmabledata processing device to constitute a machine, such that theinstructions executed by a processor of a computer or any otherprogrammable data processing device can constitute means forimplementing the functions specified by one or more processes in theflowcharts and/or one or more blocks in the block diagrams.

These computer program instructions can also be stored in a computerreadable memory that can direct a computer or any other programmabledata processing device to operate in a particular way. Thus, theinstructions stored in the computer readable memory constitute amanufacture including instruction means for implementing the functionsspecified by one or more processes in the flowcharts and/or one or moreblocks in the block diagrams.

These computer program instructions can also be loaded onto a computeror any other programmable data processing device, such that the computeror the programmable data processing device can perform a series ofoperations/steps to achieve a computer-implemented process. In this way,the instructions executed on the computer or the programmable dataprocessing device can provide steps for implementing the functionsspecified by one or more processes in the flowcharts and/or one or moreblocks in the block diagrams.

While the embodiments of the present disclosure have described above,further alternatives and modifications can be made to these embodimentsby those skilled in the art in light of the basic inventive concept ofthe present disclosure. The claims as attached are intended to cover theabove embodiments and all these alternatives and modifications that fallwithin the scope of the present disclosure.

Obviously, various modifications and variants can be made to the presentdisclosure by those skilled in the art without departing from the spiritand scope of the present disclosure. Therefore, these modifications andvariants are to be encompassed by the present disclosure if they fallwithin the scope of the present disclosure as defined by the claims andtheir equivalents.

What is claimed is:
 1. An autonomous driving system, comprising at least one sensor, a decision unit and a controller, the decision unit comprising a primary decision unit and an alternative decision unit, wherein the at least one sensor is configured to collect environment information around a vehicle, the primary decision unit is configured to calculate decision information based on the environment information collected by the at least one sensor, and transmit the decision information to the controller, the alternative decision unit is configured to calculate decision information based on the environment information collected by the at least one sensor in response to detecting that the primary decision unit is abnormal, and transmit the decision information to the controller, and the controller is configured to calculate vehicle control information based on the received decision information, and transmit the vehicle control information to a bottom vehicle controller.
 2. The system of claim 1, wherein the controller comprises a primary control unit, an alternative control unit and a verification unit, and wherein the primary control unit is configured to calculate first vehicle control information based on the received decision information, and transmit the first vehicle control information to the verification unit, the alternative control unit is configured to calculate second vehicle control information based on the received decision information, and transmit the second vehicle control information to the verification unit, and the verification unit is configured to select one of the first vehicle control information and the second vehicle control information as the vehicle control information, and transmit the selected vehicle control information to the bottom vehicle controller.
 3. The system of claim 2, wherein the verification unit being configured to select one of the first vehicle control information and the second vehicle control information as the vehicle control information comprises the verification unit being configured to: determine whether each of the first vehicle control information and the second vehicle control information is abnormal in accordance with a predetermined determination mechanism; when the first vehicle control information and the second vehicle control information are both normal, select the first vehicle control information as vehicle control information; when the first vehicle control information and the second vehicle control information are both abnormal, trigger an alarm; or when one of the first vehicle control information and the second vehicle control information is abnormal, select the other as the vehicle control information.
 4. The system of claim 1, wherein the controller comprises a primary control unit and an alternative control unit, and wherein the primary control unit is configured to calculate first vehicle control information based on the received decision information, and transmit the first vehicle control information to the bottom vehicle controller, and the alternative control unit is configured to calculate second vehicle control information based on the received decision information in response to detecting that the primary control unit is abnormal, and transmit the second vehicle control information to the bottom vehicle controller.
 5. The system of claim 4, wherein the primary control unit is further configured to transmit first verification information for verifying whether the primary control unit is abnormal to the alternative control unit periodically, and the alternative control unit is further configured to determine whether the primary control unit is abnormal based on the first verification information.
 6. The system of claim 4, wherein the controller further comprises a first monitoring unit, and wherein the primary control unit is further configured to transmit first verification information for verifying whether the primary control unit is abnormal to the first monitoring unit periodically, and the first monitoring unit is configured to determine whether the primary control unit is abnormal based on the first verification information, and transmit a determination result to the alternative control unit.
 7. The system of claim 1, wherein the primary decision unit is further configured to transmit second verification information for verifying whether the primary decision unit is normal to the alternative decision unit periodically, and the alternative decision unit is further configured to determine whether the primary decision unit is abnormal based on the second verification information.
 8. The system of claim 1, wherein the decision unit further comprises a second monitoring unit, and wherein the primary decision unit is further configured to transmit second verification information for verifying whether the primary decision unit is normal to the second monitoring unit periodically, and the second monitoring unit is configured to determine whether the primary decision unit is abnormal based on the second verification information, and transmit a determination result to the alternative decision unit.
 9. The system of claim 1, further comprising a data exchange controller connected to each of the at least one sensor, the primary decision unit, and the alternative decision unit, wherein the data exchange controller is configured to receive the environment information collected by the at least one sensor and transmit the environment information to each of the primary decision unit and the alternative decision unit.
 10. The system of claim 9, wherein the at least one sensor comprises a camera, a laser radar, a millimeter wave radar, and a positioning sensor, and wherein each of the camera and the laser radar is configured to transmit its collected environment information to the data exchange controller via a Local Area Network (LAN), the data exchange controller is configured to transmit the environment information collected by the camera and the laser radar to the primary decision unit and the alternative decision unit via the LAN, each of the millimeter wave radar and the positioning sensor is connected to the alternative decision unit, and the alternative decision unit is further configured to transmit the environment information collected by the millimeter wave radar and the positioning sensor to the primary decision unit via a Controller Area Network (CAN).
 11. The system of claim 1, wherein the alternative decision unit being configured to calculate the second decision information based on the environment information collected by the at least one sensor comprises the alternative decision unit being configured to: generate decision information for lane keeping based on the environment information; generate decision information for following a vehicle ahead based on the environment information; generate decision information for moving from a current location to an emergency lane and stopping in the emergency lane based on the environment information; or generate decision information for stopping in a current lane based on the environment information.
 12. The system of claim 11, wherein the alternative decision unit is further configured to: transmit alarm or request for help information to a remote server; display warning information indicating a vehicle fault on a display screen on a top or back of the vehicle; and/or generate request information requesting for intervention of a driver. 